(Item 8294) Add DLUR processing to send PU name to DLUS ------------------------------------------------------- Requirements from several vendors have been submitted to allow the DLUR to send a PU name to the DLUS to be used there. Multiple reasons have been provided also, for example, to allow the end user to provide a PU name instead of the DLUS-generated name when the PU is dynamically created at the DLUS; and to provide the DLUS with additional PU search criteria when the DLUR and DLUS are adjacent and two PUs have been defined at the DLUS. The proposed solution is to add CV X'0E' type X'F1' (PU name) to the FID2 Encapsulation (X'1500') GDS variable when it encapsulates the REQACTPU RU to allow the DLUR to send the PU name to the DLUS (just as currently the DLUS uses the same CV on ACTPU to send the PU name to the DLUR). The PU name can be sent either with or without a NETID: * non-network qualified (without NETID) - in this case the DLUS will match only on PU name. * network qualified (with NETID) - in this case the DLUS will match on NETID.PUname. It is an implementation option for the DLUR to choose how to get the PU name and the NETID to put together a network-qualified PU name to put in the CV X'0E'. The DLUR could require the user to define a network-qualified PU name, or only define a PU name and use its own NETID, or in the case of a downstream PU learn about the NETID via XID (remember: a downstream PU could have a NETID different from the DLUR's NETID; it is the PU's NETID which will be included in the CV X'0E'). In adding this function, - the DLUR will optionally include the PU name when sending a REQACTPU; it can send * PU name * PU name, XID * PU name, signaling information * PU name, XID, signaling information * XID * signaling information * XID, signaling information When both PU name and CP name are sent to the DLUS, these names must be different. - any signaling information received at the DLUS will be used for (in addition to PU correlation for internal PU) * network management * CSX user exit for connection verification and accounting - the DLUS will look for CV X'0E' upon receiving a REQACTPU; if the CV is present, the PU name will be used in the algorithm to search for a matching PU defined at the DLUS: * PU name - if the DLUR supplies a PU name and if it matches a predefined PU name, the search is over; otherwise, * IDBLK/IDNUM - if the DLUR supplies an IDBLK/IDNUM and it matches a predefined IDBLK/IDNUM, the search is over (note that the PU names may not match - the DLUR may accept the DLUS-provided name); otherwise, * CP name - if the DLUR supplies a CP name and it matches a predefined CP name, the search is over (note that the PU names may not match - the DLUR may accept the DLUS-provided name); otherwise, * user exit - if an exit exists, a dynamic PU will be created (note that the PU names may not match - the DLUR may accept the DLUS-provided name); otherwise, the search will fail - if the DLUS detects a name conflict, * if a duplicate PU name is detected, the DLUS will reject the REQACTPU with X'0888 0016' The DLUR-specified network name is known, but is a duplicate resource. * if a NETID mismatch is detected, the DLUS will reject the REQACTPU with X'0891 000A' Invalid Network ID: the network ID in the Network Name control vector does not match the network ID of the target resource of the REQACTPU. - if the PU name is unacceptable to the DLUS, it will reject the REQACTPU with X'080A 000F' The request was rejected because of constraints or policies specific to the receiving DLUS. The request should not be retried. - if the DLUS cannot find a matching defined PU and a dynamic PU is created, it can use the PU name included in the REQACTPU - if the DLUR receives a PU name on ACTPU different from the name sent with the REQACTPU, it may accept the DLUS-provided PU name (see search order options below); this can occur, for example, when the DLUS does not recognize the PU name sent with the REQACTPU, and if other information is present, it can find a match based on IDBLK/IDNUM or CP name and return the name of the matching predefined PU - when a DLUR receives an ACTPU, the search order to find the correct PU is a product option: Option A - PU name does not have to match ----------------------------------------- 1) PU name - this name does not have to match a DLUR-defined name for the same PU, and the DLUS-provided PU name will be accepted 2) CP name and/or IDBLK/IDNUM - whatever is received must match its corresponding definitions at the DLUR; otherwise, the ACTPU will be rejected (since the CP names and/or IDBLK/IDNUMs do not match) Option B - PU name must match ----------------------------- 1) PU name - if the DLUS supplies a PU name and if it matches a predefined PU name, the search is over; otherwise, 2) IDBLK/IDNUM - if the DLUR supplies an IDBLK/IDNUM and it matches a predefined IDBLK/IDNUM, then a) if the predefined IDBLK/IDNUM has no PU name defined with it, the search is over and the DLUS-supplied PU name will be used; otherwise, b) if the predefined IDBLK/IDNUM has a PU name defined with it, the ACTPU will be rejected (since the PU names do not match); otherwise, the ACTPU will be rejected (since the IDBLK/IDNUMs do not match)